As is known, “Smart Power” products are increasingly using microcontrollers. Consequently, the corresponding application programs require increased flexibility. To this end, microcontrollers embed non-volatile memories to be modified electronically, so-called eNVMs (electronic non-volatile Memories), which may be of various types, according to the needs. For instance, when it is required to store information with a lower number of bits, preferably eFTP (embedded Few Time Programmable) memories are used, in particular for storing configuration and trimming data; instead, where electronically modifiable non-volatile memories are required, for example for developing firmware code for the microcontroller, ePCMs (electronic Phase Change Memories) may be used.
Nonetheless, in many applications, when the software has been defined, reprogrammability of the memories may no longer be necessary. In this case, the addition of electronically reprogrammable memories entails additional due to the testing and masking operations, no longer necessary.
For instance, in some projects, programmability of the codes and/or data may be necessary only in an initial stage of the life of the products and, when these are in a mature stage, they can operate correctly with the simple use of non-rewritable (i.e., electrically non-modifiable) non-volatile memories, such as ROMs (Read Only Memories). This is the case, for example, in the following situations:
prototyping: in some systems, a software is developed on a product for a given application; when the software is found to function correctly, it no longer requires modifications and could be loaded into a ROM;
acquisition of new customers: in some cases, the system is adapted to the customer (customized products) on the basis of specific requirements. When the product is approved, most memories for the information and the programs can be implemented as ROMs; and
reduction of the manufacturing costs: in case of mass produced products, when the application software is established, it can be stored in ROMs instead of in ePCMs.
Currently, the choice of the type of memory to be implemented in microcontrollers and smart electronic apparatuses depends upon the existing technologies, the set flexibility requirements, and the amount and length of the information to be stored. For instance, eFTP memories are increasingly used and have ever increasing dimensions, so as to be able to also satisfy the requirements of the microcontrollers. Currently, they can be used for storage requirements ranging between 128 bits up to 16 KB; instead, when a high storage capacity and code flexibility is required, ePCMs are preferably used, for example with storage capacity from 16 KB up to 1 MB.
However, the use of eNVMs (e.g., FTP memories or PCMs) when ROMs would be sufficient may entail high costs, which are not justified. For instance, for storing limited amounts of data and for small software “patch” modifications, the use of large sized eFTP memories leads to non-negligible and substantially useless costs; likewise, the presence of programming masks and testing steps in ePCMs involves high costs, which have repercussions on the costs of the final apparatus, in a way at times unacceptable.
On the other hand, the use of library ROMs for replacing eNVMs in already set projects is frequently far from practical or in any case not simple. In fact, the product and/or the apparatus should be redesigned, and therefore all the masks should be re-made and the product requalified. All these steps entail considerable time and typically customers raise objections to the introduction of modifications to the project after qualification has been obtained.